/**
 * 环境变量配置
 */
import { CodeGenTypeEnum } from '@/utils/CodeGenTypes.ts'

// 应用部署域名
// import.meta.env.VITE_DEPLOY_DOMAIN：从 .evn.production配置文件中引入，即：/dist，是一个相对路径
// 即当前服务器路径下的dist目录，本项目生产环境为：http://1.12.45.18/dist
export const DEPLOY_DOMAIN = import.meta.env.VITE_DEPLOY_DOMAIN || 'http://localhost'

// API 基础地址
// import.meta.env.VITE_API_BASE_URL：从 .evn.production配置文件中引入，即：/api，是一个相对路径
// 本项目生产环境为：http://1.12.45.18/api
export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8123/api'

// 静态资源地址
export const STATIC_BASE_URL = `${API_BASE_URL}/static`

// 获取部署应用的完整URL
export const getDeployUrl = (deployKey: string) => {
  return `${DEPLOY_DOMAIN}/${deployKey}`
}

// 获取静态资源预览URL
export const getStaticPreviewUrl = (codeGenType: string, appId: string) => {
  /**
   * HTML、MULTI_FILE代码生成模式直接通过该接口:http://localhost:8123/api/static/codeGenType_appId
   * 来访问静态资源文件，实现项目预览、访问。
   */
  const baseUrl = `${STATIC_BASE_URL}/${codeGenType}_${appId}/`
  /**
   * 如果是 VUE_PROJECT 项目，则要访问项目打包后的目录，即:
   * http://localhost:8123/api/static/codeGenType_appId/dist/index.html。
   */
  if(codeGenType === CodeGenTypeEnum.VUE_PROJECT){
    return `${baseUrl}/dist/index.html`;
  }
  return baseUrl;
}
